package com.turing.post.organization.util;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * 凭证调拨单业务
 * 
 * @author wzd
 * @2013-03-13
 */
@Remote
@Local
public interface VoucherTransferOrderBusiness {

	
	/**
	 * 新增凭证调拨单
	 * 
	 * @param VoucherTransferOrder
	 *              凭证调拨单
	 * @throws PCPSApplicationException
	 */
	public BigInteger insertVoucherTransferOrder(PCPSWebInput webInput,VoucherTransferOrder voucherTransferOrder,List<VoucherTransferOrderDetail> datil) throws PCPSApplicationException;
	/**
	 * 修改凭证调拨单状态--1-调出在途(M)--5-取消调出(M)
	 * 
	 * @param  VoucherTransferOrder
	 *            凭证调拨单
	 * @throws PCPSApplicationException
	 */
	public void updateVoucherTransferOrderByStatus(PCPSWebInput webInput,VoucherTransferOrder voucherTransferOrder) throws PCPSApplicationException;
	/**
	 * 修改凭证调拨单状态--2-接收(M)-4-拒收
	 * 
	 * @param  VoucherTransferOrder
	 *            凭证调拨单
	 * @throws PCPSApplicationException
	 */
	public void updateVoucherTransferOrderByStatusBy2(PCPSWebInput webInput,VoucherTransferOrder voucherTransferOrder) throws PCPSApplicationException;
	/**
	 * 修改凭证调拨单状态--3-接收确认(M)-4-拒收
	 * 
	 * @param  VoucherTransferOrder
	 *            凭证调拨单
	 * @throws PCPSApplicationException
	 */
	public void updateVoucherTransferOrderByStatusBy3(PCPSWebInput webInput,VoucherTransferOrder voucherTransferOrder) throws PCPSApplicationException;
}
